home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #5 / Amiga Plus CD - 2000 - No. 5.iso / Tools / Dev / GameboyDev / GBDK / lib / hiramcpy.s < prev    next >
Encoding:
Text File  |  1999-03-29  |  462 b   |  37 lines

  1.     .include    "global.s"
  2.  
  3.     .area    _CODE
  4.  
  5.     ;; Copy memory zone to HIRAM
  6.     ;; 
  7.     ;; Entry conditions
  8.     ;;   C = destination
  9.     ;;   B = length
  10.     ;;   HL = source
  11.     ;; 
  12.     ;; Register used: AF, BC, HL
  13. .hiramcpy::
  14. 1$:
  15.     LD    A,(HL+)
  16.     LDH    (C),A
  17.     INC    C
  18.     DEC    B
  19.     JR    NZ,1$
  20.     RET
  21.  
  22. _hiramcpy::
  23.     PUSH    BC
  24.  
  25.     LDA    HL,4(SP)    ; Skip return address and registers
  26.     LD    C,(HL)        ; C = dst
  27.     LDA    HL,7(SP)
  28.     LD    B,(HL)        ; B = n
  29.     DEC    HL
  30.     LD    A,(HL-)        ; HL = src
  31.     LD    L,(HL)
  32.     LD    H,A
  33.     CALL    .hiramcpy
  34.  
  35.     POP    BC
  36.     RET
  37.